home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / jx4nt125.zip / WINDOWS.I < prev   
Text File  |  1994-10-10  |  6KB  |  224 lines

  1. ; windows.i .. homemade until microsoft comes up with one
  2. ; Jax4th is Copyright (c) 1993, 1994 by jack j. woehr
  3. ; p.o. box 51, golden, co 80402-0051
  4. ; jax@well.sf.ca.us | JAX on GEnie | 72203.1320@compuserve.com
  5. ; sysop, rcfb (303) 278-0364
  6.  
  7.     COMMENT    !
  8. No copyright of any kind is claimed for this file, which is simply some
  9. Windows NT objects and prototypes declared in MASM. The author rolled
  10. his own, since Microsoft's own WINDOWS.INC for NT is/was not yet released.
  11. !
  12.  
  13. ;~~~~~~~~~~~~~~~~~~~~~~~;
  14. ;   --( Typedefs ) --    ;
  15. ;~~~~~~~~~~~~~~~~~~~~~~~;
  16.  
  17. ; These were added late in the game, so not all the defs below actually use them.
  18.  
  19. BOOL        TYPEDEF    DWORD
  20. CHAR        TYPEDEF    BYTE
  21. HANDLE        TYPEDEF    DWORD
  22. HINSTANCE    TYPEDEF HANDLE
  23. HWND        TYPEDEF HANDLE
  24. LPCSTR        TYPEDEF    NEAR PTR WCHAR    ; Unicode app
  25. LPCTSTR        TYPEDEF    NEAR PTR WCHAR    ; Unicode app
  26. LPDWORD        TYPEDEF    NEAR PTR DWORD
  27. LPVOID        TYPEDEF    NEAR PTR DWORD
  28. LPTSTR        TYPEDEF NEAR PTR WCHAR    ; Unicode app
  29. LPWSTR        TYPEDEF NEAR PTR WCHAR    ; Unicode app
  30. PVOID        TYPEDEF    NEAR PTR DWORD
  31. PSID        TYPEDEF    PVOID
  32. UINT        TYPEDEF    DWORD
  33. USHORT        TYPEDEF    WORD
  34. LPOFNHOOKPROC    TYPEDEF    LPVOID
  35.  
  36. ;~~~~~~~~~~~~~~~~~~~;
  37. ; --( Constants )-- ;
  38. ;~~~~~~~~~~~~~~~~~~~;
  39.  
  40. ; GlobalAlloc()
  41. LMEM_FIXED    equ    0
  42.  
  43. ;GetStdHandle()
  44. STD_INPUT_HANDLE    equ    -10
  45. STD_OUTPUT_HANDLE    equ    -11
  46. STD_ERROR_HANDLE    equ    -12
  47. INVALID_HANDLE_VALUE    equ    -1
  48.  
  49. ; Con Mode Constants
  50. ENABLE_ECHO_INPUT    equ    04H
  51. ENABLE_LINE_INPUT    equ    02H
  52. ENABLE_PROCESSED_INPUT    equ    01H
  53. ENABLE_WINDOW_INPUT    equ    08H
  54. ENABLE_MOUSE_INPUT    equ    10H
  55.  
  56. ; Input Event Constants
  57. KEY_EVENT            equ    01
  58. MOUSE_EVENT            equ    02
  59. WINDOW_BUFFER_SIZE_EVENT    equ    04
  60. MENU_EVENT            equ    08
  61. FOCUS_EVENT            equ    10H
  62.  
  63. ; GetSaveFileName Constant
  64. OFN_OVERWRITEPROMPT    equ    2
  65.  
  66. ;--( Some file constants )
  67.  
  68. ; from winbase.h
  69. CREATE_ALWAYS    EQU    2
  70. OPEN_EXISTING    EQU    3
  71. FILE_BEGIN    EQU    0
  72. FILE_CURRENT    EQU    1
  73.  
  74. ; from winnt.h
  75. GENERIC_READ        EQU    80000000H
  76. GENERIC_WRITE        EQU    40000000H
  77. FILE_ATTRIBUTE_NORMAL    EQU    80H
  78.  
  79. ;~~~~~~~~~~~~~~~~~;
  80. ; --( Structs )-- ;
  81. ;~~~~~~~~~~~~~~~~~;
  82.  
  83. ; for CreateFile()
  84. SECURITY_ATTRIBUTES    STRUCT    4
  85.     nLength            DWORD    12
  86.     lpSecurityDescriptor    LPVOID    0
  87.     bInheritHandle        BOOL    1
  88. SECURITY_ATTRIBUTES    ENDS
  89.  
  90. FILETIME    STRUCT    4
  91.     dwLowDateTime    DWORD    ?
  92.     dwHighDateTime    DWORD    ?
  93. FILETIME    ENDS
  94.  
  95. ; for GetFileInformationByHandle()
  96. _BY_HANDLE_FILE_INFORMATION    STRUCT    4
  97.     dwFileAttributes    DWORD    ?
  98.     ftCreationTime        FILETIME    {}
  99.     ftLastAccessTime    FILETIME    {}
  100.     ftLastWriteTime        FILETIME    {}
  101.     dwVolumeSerialNumber    DWORD    ?
  102.     nFileSizeHigh        DWORD    ?
  103.     nFileSizeLow        DWORD    ?
  104.     nNumberOfLinks        DWORD    ?
  105.     nFileIndexHigh        DWORD    ?
  106.     nFileIndexLow        DWORD    ?
  107. _BY_HANDLE_FILE_INFORMATION    ENDS
  108.  
  109. COORD    STRUCT                    ;4
  110.     X    USHORT    ?
  111.     Y    USHORT    ?
  112. COORD    ENDS
  113.  
  114. ;------------------------------------
  115. ; _EVENT_RECORDs used by INPUT_RECORD
  116. ;------------------------------------
  117. KEY_EVENT_RECORD    STRUCT        4
  118.     bKeyDown        BOOL    ?
  119.     wRepeatCount        WORD    ?
  120.     wVirtualKeyCode        WORD    ?
  121.     wVirtualScanCode    WORD    ?
  122.     UNION    uChar
  123.         UnicodeChar    WORD    ?
  124.         AsciiChar    WORD    ?
  125.     ENDS
  126.     dwControlKeyState    DWORD    ?
  127. KEY_EVENT_RECORD    ENDS
  128.  
  129. MOUSE_EVENT_RECORD    STRUCT            ;4
  130.     dwMousePosition        COORD    {}
  131.     dwButtonState        DWORD    ?
  132.     dwControlKeyState    DWORD    ?
  133.     dwEventFlags        DWORD    ?
  134. MOUSE_EVENT_RECORD    ENDS
  135.  
  136. WINDOW_BUFFER_SIZE_RECORD    STRUCT        ;4
  137.     dwSize            COORD    {}
  138. WINDOW_BUFFER_SIZE_RECORD    ENDS
  139.  
  140. MENU_EVENT_RECORD    STRUCT            ;4
  141.     dwCommandId        UINT    ?
  142. MENU_EVENT_RECORD    ENDS
  143.  
  144. FOCUS_EVENT_RECORD    STRUCT            ;4
  145.     bSetFocus        BOOL    ?
  146. FOCUS_EVENT_RECORD    ENDS
  147.  
  148. ; INPUT_RECORD used by KEY/EKEY etc.
  149. INPUT_RECORD        STRUCT        4
  150. EventType        DWORD    ?
  151.     UNION    Event
  152.             KeyEvent    KEY_EVENT_RECORD            {}
  153.             MouseEvent    MOUSE_EVENT_RECORD            {}
  154.         WindowBufferSizeEvent    WINDOW_BUFFER_SIZE_RECORD    {}
  155.             MenuEvent    MENU_EVENT_RECORD            {}
  156.             FocusEvent    FOCUS_EVENT_RECORD            {}
  157.     ENDS
  158. INPUT_RECORD    ENDS
  159.  
  160. ; OPENFILENAME used by SAVE-FORTH
  161. OPENFILENAME         STRUCT            ;4
  162.     lStructSize        DWORD        SIZEOF OPENFILENAME
  163.     hwndOwner        HWND        0
  164.     hInstance        HINSTANCE    0
  165.     lpstrFilter        LPCTSTR        0
  166.     lpstrCustomFilter    LPTSTR        0
  167.     nMaxCustFilter        DWORD        0
  168.     nFilterIndex        DWORD        0
  169.     lpstrFile        LPTSTR        0
  170.     nMaxFile        DWORD        tibsize
  171.     lpstrFileTitle        LPTSTR        0
  172.     nMaxFileTitle        DWORD        0
  173.     lpstrInitialDir        LPCTSTR        0 
  174.     lpstrTitle        LPCTSTR        0
  175.     Flags            DWORD        OFN_OVERWRITEPROMPT
  176.     nFileOffset        WORD          0
  177.     nFileExtension        WORD          0
  178.     lpstrDefExt        LPCTSTR        0
  179.     lCustData        DWORD        0
  180.     lpfnHook        LPOFNHOOKPROC    0
  181.     lpTemplateName        LPCTSTR        0
  182. OPENFILENAME    ENDS
  183.  
  184. ;-------------------------------;
  185. ;    Declare API Calls    ;
  186. ;-------------------------------;
  187. API32        textequ    <PROTO NEAR STDCALL>
  188.  
  189. CloseHandle            API32    :DWORD
  190. CommDlgExtendedError        API32
  191. CreateFileW            API32    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
  192. DeleteFileW            API32    :DWORD
  193. ExitProcess             API32    :DWORD
  194. FillConsoleOutputCharacterW    API32    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
  195. FlushConsoleInputBuffer        API32    :HANDLE
  196. FreeLibrary            API32    :DWORD
  197. GetCommandLineW            API32
  198. GetConsoleMode            API32    :DWORD, :DWORD
  199. GetFileInformationByHandle    API32    :DWORD, :DWORD
  200. GetLastError            API32
  201. GetProcAddress            API32    :DWORD, :DWORD
  202. GetStdHandle            API32    :DWORD
  203. GetSaveFileNameW        API32    :DWORD
  204. LoadLibraryExW            API32    :DWORD, :DWORD, :DWORD
  205. LocalAlloc            API32    :DWORD, :DWORD
  206. LocalFree            API32    :DWORD
  207. LocalLock            API32    :DWORD
  208. LocalUnlock            API32    :DWORD
  209. PeekConsoleInputW        API32    :DWORD, :DWORD, :DWORD, :DWORD
  210. ReadConsoleW            API32    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
  211. ReadConsoleInputW        API32    :DWORD, :DWORD, :DWORD, :DWORD
  212. ReadFile            API32    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
  213. SetConsoleMode            API32    :DWORD, :DWORD
  214. SetConsoleCursorPosition    API32    :DWORD, :DWORD
  215. SetEndOfFile            API32    :DWORD
  216. SetFilePointer            API32    :DWORD, :DWORD, :DWORD, :DWORD
  217. WriteConsoleW            API32    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD 
  218. WriteFile            API32    :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
  219.  
  220. ;~~~~~~~~~~~~~~~~~~~~~~~~~~;
  221. ; --( End of windows.i )-- ;
  222. ;~~~~~~~~~~~~~~~~~~~~~~~~~~;
  223.  
  224.